package com.caigou.service;

import com.caigou.bean.cms.entity.ContributeChannel;
import com.caigou.bean.cms.entity.Lesson;
import com.caigou.bean.cms.entity.LessonObject;
import com.caigou.bean.cms.entity.LessonSpan;
import com.caigou.bean.cms.param.*;
import com.caigou.util.Result;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface LessonService {
    Lesson selectByPrimaryKey(int id);
    int insertSelective(Lesson lesson);
    Result saveLesson(Lesson lesson, MultipartFile[] files, MultipartFile image);
    int uploadLesson(MultipartFile multipartFile, int i, int lessonId);

    LessonObject selectLessonObjectByPrimaryKey(int id);
    int saveLessonObject(LessonObject lessonObject);
    Result saveLessonObject(LessonObjectParam param);
    int updateLessonObject(LessonObject lessonObject);
    Result updateLessonObject(LessonObjectParam param);
    Result deleteLessonObject(Integer id);
    List<LessonObject> listLessonObject();

    LessonSpan selectLessonSpanByPrimaryKey(int id);
    int saveLessonSpan(LessonSpan lessonSpan);
    Result saveLessonSpan(LessonSpanParam param);
    int updateLessonSpan(LessonSpan lessonSpan);
    Result updateLessonSpan(LessonSpanParam param);
    Result deleteLessonSpan(Integer id);
    List<LessonSpan> listLessonSpan();

    Result getLessonConfig();
    Result saveLessonConfig(AttachmentConfigParam param);
    Result queryLesson(LessonQueryParam param);
    Result getLessonDetail(LessonParam param);
    Result processLesson(LessonParam param, String processUserId);
    int getCountByProcessStatus(int processStatus);
}
